package net.wangy.basiccode1.jihe;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

//在程序开发中，经常需要遍历集合中的所有元素。针对这种需求，JDK专门提供了一个接口
//java.util.Iterator
//Iterator 主要用于迭代访问（即遍历） Collection 中的元
//素，因此 Iterator 对象也被称为迭代器。

/**
 * 增强for:
 * 增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环，专门用来遍历数组和集合的。它的内部原
 * 理其实是个Iterator迭代器，所以在遍历的过程中，不能对集合中的元素进行增删操作
 */
public class AboutIterator {
    //public Iterator iterator() : 获取集合对应的迭代器，用来遍历集合中的元素的。
    /**
     * 迭代：即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素，如果有，就把这个
     * 元素取出来，继续在判断，如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业
     * 术语称为迭代。
     *
     * Iterator接口的常用方法如下：
     * public E next() :返回迭代的下一个元素。
     * public boolean hasNext() :如果仍有元素可以迭代，则返回 true。
     */
    public static void main(String[] args) {
        Collection<String> coll=new ArrayList<>();
        coll.add("串串儿");
        coll.add("狗狗儿");
        coll.add("闷灯儿");
        //遍历
//使用迭代器 遍历 每个集合对象都有自己的迭代器
        Iterator<String> it = coll.iterator();
        while (it.hasNext()){
            String next = it.next();
            System.out.println(next);
        }
    }
}
